#define MAX 2147483647
main()
{
    //lekai
    long int n,m,re();
    int count=0;
    printf(" please enter a number optionaly:");
    scanf("%ld",&n);
    printf("The generation process of palindrome:\n");
    while (! nonre((m=re(n))+n)){
        if (m+n>=MAX){
            printf("input error ,break.\n");
            break;
        }
        else{
            printf("[%d]:%ld+%ld=%ld\n",++count,n,m,m+n);
            n+=m;
        }
    }
    printf("[%d]:%ld+%ld=%ld\n",++count,n,m,m+n);
    printf("Here we reached the aim at last ! \n");
}
long re(a)
long int a;
{
    long int t;
    for (t=0;a>0;a/=10)
    t=t*10+a%10;
    return(t);    
}
nonre(s)
long int s;
{
    if (re(s)==s)return(1);
    else return(0);
    
}